var util = {}
// 倒计时 2 ，直接输入一个时间字符串 '2020/11/23 00:00:00' ，'/'
// 分割的(在苹果上必须使用 '/' 分割的时间使用)
util.goback = (dayID, hourID, minuteID, secondID, endTime) => {
  // 此时的时间 不是东八区的时间
  let today = new Date()
  // console.log(today); // 2018-12-19T02:33:50.708Z
  // 此时的时间 北京时间
  // let today_0 = Date()
  // console.log(today_0); // Wed Dec 19 2018 10:36:20 GMT+0800 (GMT+08:00)
  // 返回1970-1-1至今的毫秒数
  let currentSecondFrom1970 = today.getTime()
  // console.log(currentSecondFrom1970);
  // 返回你设置的那一天到1970-1-1的毫秒数
  // let featureDay =  new Date('2018-12-20 00:00:00');
  // let featureSecondFrom1970 = featureDay.getTime();
  endTime = new Date(endTime)
  let featureSecondFrom1970 = endTime.getTime()
  // console.log(featureSecondFrom1970);
  // 两天之间的时间差 单位毫秒
  let diff = (featureSecondFrom1970 - currentSecondFrom1970) / 1000
  // console.log(diff);

  // 格式化时间的方法 年月要动态获取 不同年的年月不同
  let day, hour, minute, second
  day = Math.floor(diff / (24 * 60 * 60))
  // console.log('day:' + day); // 0.547226886574074
  // 取模 暂时不清楚
  let modulo = diff % (24 * 60 * 60)
  // console.log(modulo);
  hour = Math.floor(modulo / (60 * 60))
  // console.log('hour:' + hour);
  modulo = modulo % (60 * 60) // 余数
  // console.log(modulo);
  minute = Math.floor(modulo / 60)
  // console.log('minute:' + minute);
  second = Math.floor(modulo % 60)
  // console.log('second:' + second);
  function addZero (str) {
    str = str.toString()
    if (str.length >= 2) return str
    if (str.length < 2) {
      str = '0' + str
    }
    return str
  }
  // console.log( 'addZero(minute):' + addZero(minute));
  // console.log( 'addZero(second):' + addZero(second));
  // document.getElementById(id).innerHTML = "还剩:" + day + "天" + hour + "小时" + minute + "分钟" + second + "秒";
  if (day >= 0 && hour >= 0 && minute >= 0 && second >= 0) {
    dayID.innerHTML = day
    hourID.innerHTML = addZero(hour)
    minuteID.innerHTML = addZero(minute)
    secondID.innerHTML = addZero(second)
  } else {
    // $('.text').html('特价活动已结束')
  }

  setTimeout(function () {
    util.goback(dayID, hourID, minuteID, secondID, endTime)
  }, 1000)
}
// 时间戳的转换
// @param  string  format
// @param  integer timestamp
// @return string
// 使用格式： util.date('Y-m-d H:i:s',new Date().getTime()/1000)

// 3 'Y-m-d H:i:s' 字符串格式，通过秒数，获取到'2020/11/23 00:00:00' 字符串
// 在倒计时中，秒数自减，调用该方法获取一个；
util.date = (format, timestamp) => {
  var date = (timestamp > 0) ? new Date(timestamp * 1000) : new Date()
  var regex = /[a-zA-Z]/g
  function _supplement (value) {
    return (value < 10) ? '0' + value : value
  }
  function _replace (match) {
    switch (match) {
      case 'Y':
        return date.getFullYear()
        break
      case 'm':
        return _supplement(date.getMonth() + 1)
        break
      case 'd':
        return _supplement(date.getDate())
        break
      case 'H':
        return _supplement(date.getHours())
        break;
      case 'i':
        return _supplement(date.getMinutes())
        break;
      case 's':
        return _supplement(date.getSeconds())
        break;
    }
  }
  return format.replace(regex, _replace)
}

// es6 数组去重
util.unique = (arr) => {
  return Array.from(new Set(arr))
}
// 数组对象去重
// util.objque = (person) => {
//   let obj = {}
//   person.reduce((cur, next) => {
//     obj[next.id] ? '' : obj[next.id] = true && cur.push(next)
//     return cur
//   })
// }

util.reg = /^([a-zA-Z\d][\w-]{2,})@(\w{2,})\.([a-z]{2,})(\.[a-z]{2,})?$/

export default util
